if (!jsx3.lang.Class.forName("ux.megatron.example.tour.effect.TestEffectPage")) {
  jsx3.Class.defineClass("ux.megatron.example.tour.effect.TestEffectPage",
    jsx3.gui.Block,
    [ux.megatron.plugin.PluginContainerInterface],
    function (testEffect) {
  
      testEffect.prototype.onAfterDeserialize = function(){
        var me = this;
        this.getDescendantOfName('tab1').getContentPane().allowFade();
        this.getDescendantOfName('tab2').getContentPane().allowFade();
        ux.megatron.Main.loadUIResourceAsync(this.getDescendantOfName('tab1').getContentPane(), "ux.megatron.example.tour", "ux/megatron/example/tour/effect/ui/Tab_1.xml", me, me.onLoadTab);
        ux.megatron.Main.loadUIResourceAsync(this.getDescendantOfName('tab2').getContentPane(), "ux.megatron.example.tour", "ux/megatron/example/tour/effect/ui/Tab_2.xml", me, me.onLoadTab1);
      }

      testEffect.prototype.onLoadTab = function() {
      }

      testEffect.prototype.onLoadTab1 = function() {
        //alert(this.getDescendantOfName('tab2').getContentPane());
        this.getDescendantOfName('tab2').getContentPane().HideBlock();
      }

      testEffect.prototype.ShowTab = function() {
        var testPan = this.getDescendantOfName('block_Test');
        testPan.fadeout();
      }

      testEffect.prototype.HideTab = function() {
        ////alert("fdfddfd");
        var testPan = this.getDescendantOfName('block_Test');
        testPan.fadein();
      }


      testEffect.prototype.genHandler = function(fctn, source) {
        return function() {
          fctn();
          showSource(source, fctn.toString());
        }
      }
    }
  );
};